/**
 * @param {number[][]} bombs
 * @return {number}
 */
var maximumDetonation = function (bombs) {
  const result = 0
  const bombHash = {}
  const length = bombs.length
  for (let i = 0; i < length; i++) {
    const start = bombs.pop()
    const queue = [start]
    while (queue.length) {
      let [x, y, r] = queue.shift()
      for (let [x2, y2, r2] of bombs) {
        if (x + x2 <= (x + r) && y + y2 <= (y + r)) {
          queue.push([x2, y2, r2])
          if (bombHash[`${x}${y}`]) {
            bombHash[`${x}${y}`]
          }
        }
      }
    }
    bombs.unshift(start)
  }


  return result
};


// 炸弹用一个下标从 0 开始的二维整数数组 bombs 表示，其中 bombs[i] = [xi, yi, ri] 。
// xi 和 yi 表示第 i 个炸弹的 X 和 Y 坐标，ri 表示爆炸范围的 半径 